The present invention relates to the semiconductor device simulation art. Specifically, a computer-implemented method and system is described which increases efficiency in the processing of executable modules representing steps in the creation and testing of simulated semiconductor devices, by eliminating redundant modules from the process flow.
The creation and testing of semiconductor devices through simulation, prior to actual manufacture, provides significant savings in design cost and time. TCAD (Technology Computer-Aided Design) is one well-known methodology for performing design through simulation, focusing on the design of structures at the silicon level.
In the TCAD system, designers create simulation control xe2x80x9crecipesxe2x80x9d, which are computer-executable scripts defining a set of process steps to be performed by a simulation processor in the creation of a simulated device. The simulation processor, under the control of a simulation control script, produces an output data file representing a virtual semiconductor device, such as a transistor. This output data file may then be studied by a designer, and may further be input to a device test simulation processor which simulates the response of the virtual device to a selected test of its electrical properties.
The process steps defined by the simulation control scripts reflect process steps used in the actual manufacture of semiconductor devices. Variables in the process steps include, for example, dosages and energies for implantation of impurities into a silicon wafer, annealing times and temperatures, and mask layout. It is of interest to designers to determine values for these variables so as to produce a device with desired or optimal electrical properties; simulation makes this convenient and cost-effective, since no physical device need be constructed. Instead, a collection of simulation control scripts may be constructed, each script defining a different set of values for process variables and representing a particular simulation experiment. The simulation control scripts may then be executed, and the resulting virtual devices may be tested and compared.
Such a collection of simulation control scripts can be quite numerous, owing to numerous varying parameters having been defined for the process steps. Moreover, the time required by the simulation processor to perform the computations necessary for simulation can be substantial, ranging from hours to days.
Accordingly, an approach to processing a collection of simulation control scripts is called for which minimizes the number of simulation control scripts which need to be executed, thereby reducing the simulation system load, speeding design evaluation and further reducing design costs.
A method and system according to the present invention provides an approach to processing a collection of simulation control scripts which meets the foregoing objective, and which is not known to exist in the prior art. The method exploits commonalities in a collection of modules containing scripts to be executed, to eliminate redundant modules from the execution process.
The collection of modules represents a set of related simulation experiments and are organized as generations of related module sequences having execution interdependencies. The related sequences typically include common module sequences, followed by one or more points known as xe2x80x9csplitsxe2x80x9d at which the sequences diverge, representing points at which a variation in process parameters has been introduced by a user of the simulation system.
The method according to the present invention organizes the common module sequences preceding splits into groups of equivalent modules, and then eliminates redundant modules in each group. In a preferred embodiment, the groups of equivalent modules are formed by comparing the modules within each generation to each other to determine which modules are equivalent. Modules which will produce the same output data given the same input data, and which have equivalent execution prerequisites, are considered equivalent.
In each group of equivalent modules, a single xe2x80x9ctargetxe2x80x9d module is selected to substitute for the others in the module execution sequences, and execution interdependencies are redefined to effect the substitution. When the collection of modules is subsequently executed, execution is optimal in that redundant modules have been eliminated from the sequences, making it possible to realize a significant savings in simulation time and a reduction of the workload on the simulation system.